﻿/**********************************************************************
 * @file   OperatorsGeoCubeManager.h
 * @brief  立方体几何操作器
 * @author liuzhonghua (liuzhonghuaszch@163.com)
 * @date   2024-10-31
 *********************************************************************/
#ifndef _OperatorsGeoCubeManager_H
#define _OperatorsGeoCubeManager_H

#include "FITK_Kernel/FITKCore/FITKOperatorRepo.h"
#include "FITK_Kernel/FITKCore/FITKActionOperator.h"

namespace ModelOper
{
    /**
     * @brief  立方体几何操作器
     * @author liuzhonghua (liuzhonghuaszch@163.com)
     * @date   2024-10-31
     */
    class OperatorsGeoCubeManager :public Core::FITKActionOperator
    {
        Q_OBJECT;
    public:
        /**
         * @brief    Construct a new Operators Geo Cube Manager object
         * @return   void
         * @author   liuzhonghua (liuzhonghuaszch@163.com)
         * @date     2024-10-31
         */
        OperatorsGeoCubeManager();
        /**
         * @brief    Delete a Operators Geo Cube Manager object
         * @return   void
         * @author   liuzhonghua (liuzhonghuaszch@163.com)
         * @date     2024-10-31
         */
        ~OperatorsGeoCubeManager();
        /**
         * @brief    执行
         * @return   bool 状态: true 成功, false 失败
         * @author   liuzhonghua (liuzhonghuaszch@163.com)
         * @date     2024-10-31
         */
        virtual bool execGUI();
        /**
         * @brief    执行结果处理
         * @return   bool 状态: true 成功, false 失败
         * @author   liuzhonghua (liuzhonghuaszch@163.com)
         * @date     2024-10-31
         */
        virtual bool execProfession();
    private slots:
    };

    // 按钮注册相关操作
    Register2FITKOperatorRepo(actionGeoCubeCreate, OperatorsGeoCubeManager);
    Register2FITKOperatorRepo(actionGeoCubeEdit, OperatorsGeoCubeManager);
    Register2FITKOperatorRepo(actionGeoCubeDelete, OperatorsGeoCubeManager);
    Register2FITKOperatorRepo(actionGeoCubeRename, OperatorsGeoCubeManager);
}

#endif